package com.brillilab.service.core.plans;

import java.util.List;

import com.brillilab.domain.po.plans.PlanTargetGroup;
import com.brillilab.domain.po.topics.TopicTarget;
import com.brillilab.domain.vo.topics.TopicTargetPlanDateVo;

/**
 * <p>
 * 计划实验流组表 服务类
 * </p>
 *
 * @author zlb
 * @since 2019-09-05
 */
public interface IPlanTargetGroupService {

	List<TopicTargetPlanDateVo> getTargetPlanList(Long targetId);

	PlanTargetGroup insert(PlanTargetGroup targetGroup);

	/**
	 * 获取最新一个实验流组
	 * @param targetId
	 * @return
	 */
	PlanTargetGroup getNewestPlanTargetGroup(Long targetId);

	void updateById(PlanTargetGroup targetGroup);

	PlanTargetGroup getById(Long targetGroupId);

	void deleteById(Long targetGroupId);
	
	void delete(Long topicId, Long topicDirectionId, Long topicTargetId);

	void endGroupByTopicId(Long topicId);

	/**
	 * 获取在计划组中的实验流列表
	 * @param topicId
	 * @return
	 */
	List<TopicTarget> selectListByTopicId(Long topicId);

	void endTargetGroup(Long targetGroupId);

}
